National Repository of Grey Literature 9 records found  Search took 0.01 seconds. 
Generic Reverse Compilation to Recognize Specific Behavior
Ďurfina, Lukáš ; Šaloun, Petr (referee) ; Zahradnický,, Tomáš (referee) ; Kolář, Dušan (advisor)
Práce je zaměřena na rozpoznávání specifického chování pomocí generického zpětného překladu. Generický zpětný překlad je proces, který transformuje spustitelné soubory z různých architektur a formátů objektových souborů na stejný jazyk na vysoké úrovni. Tento proces se vztahuje k nástroji Lissom Decompiler. Pro účely rozpoznání chování práce zavádí Language for Decompilation -- LfD. LfD představuje jednoduchý imperativní jazyk, který je vhodný pro srovnávaní. Konkrétní chování je dáno známým spustitelným souborem (např. malware) a rozpoznání se provádí jako najítí poměru podobnosti s jiným neznámým spustitelným souborem. Tento poměr podobnosti je vypočítán nástrojem LfDComparator, který zpracovává dva vstupy v LfD a rozhoduje o jejich podobnosti.
Java AST Query Language
Bílek, Jiří ; Matula, Peter (referee) ; Křivka, Zbyněk (advisor)
The purpose of this thesis is to design a Java AST query language and implement tool that uses the query language. This work overviews graph databases and their libraries with focus on Neo4J and Titan. This thesis overviews tools Java bytecode analysis as well. Libraries Procyon and BCEL are described in detail. The work includes a proposal the query language and detailed description of the tool implementation, together with the detailed description of the way how Java entities are stored into the graph databases. In the end, the work deals with experiments and the evaluation of the time complexity of the library.
Decompilation of High-Level Constructions in C++ Binaries
Jakub, Dušan ; Křivka, Zbyněk (referee) ; Matula, Peter (advisor)
The thesis addresses the decompilation of high-level object-oriented C++ language from a machine code. The term reverse engineering is defined and existing decompilers are described with emphasis on their ability to reconstruct C++. AVG decompiler project is introduced, to which this thesis contributes. C++ language is analysed, both on a logical level and in the machine code and existing methods of decompilation are described. On this basis a novel method is introduced, capable of decompiling classes, their hierarchy, constructors, destructors and definitions and usages of virtual methods. The method is implemented, tested and evaluated. In the conclusion, several suggestions for future development of this project are presented.
Copyright protection of software
Kozelka, Ondřej ; Holcová, Irena (advisor) ; Křesťanová, Veronika (referee)
Copyright protection of computer programs This thesis deals with copyright protection of specific works of authorship - computer programs. The thesis deals with the definition of works of authorship and the conditions in which the computer program is a work of authorship, at least as a legal fiction. For the term computer program, the thesis is trying to find a suitable definition that is sufficiently general, but also accurately captures it's notion. Various known forms of expression of the computer program (source code, machine code, but also a code in an intermediate language) are described and the thesis explains, why it is appropriate to protect the computer program in any form. The thesis clarifies, why the term "software" and the term "computer program" are not identical and arbitrarily exchanging them can cause problems. Furthermore, the thesis deals with the author of the computer program and co-authorship. The next part deals with the rights of the author of the work. The exclusive rights of the author (the moral rights of the author and copyright) are discussed. The thesis describes the rights of exploitation of a computer programs, with a focus on differences againts other works of authorship. One of the rights of the author is also the right to provide an authorization to exercise the right to...
Decompilation of High-Level Constructions in C++ Binaries
Jakub, Dušan ; Křivka, Zbyněk (referee) ; Matula, Peter (advisor)
The thesis addresses the decompilation of high-level object-oriented C++ language from a machine code. The term reverse engineering is defined and existing decompilers are described with emphasis on their ability to reconstruct C++. AVG decompiler project is introduced, to which this thesis contributes. C++ language is analysed, both on a logical level and in the machine code and existing methods of decompilation are described. On this basis a novel method is introduced, capable of decompiling classes, their hierarchy, constructors, destructors and definitions and usages of virtual methods. The method is implemented, tested and evaluated. In the conclusion, several suggestions for future development of this project are presented.
Generic Reverse Compilation to Recognize Specific Behavior
Ďurfina, Lukáš ; Šaloun, Petr (referee) ; Zahradnický,, Tomáš (referee) ; Kolář, Dušan (advisor)
Práce je zaměřena na rozpoznávání specifického chování pomocí generického zpětného překladu. Generický zpětný překlad je proces, který transformuje spustitelné soubory z různých architektur a formátů objektových souborů na stejný jazyk na vysoké úrovni. Tento proces se vztahuje k nástroji Lissom Decompiler. Pro účely rozpoznání chování práce zavádí Language for Decompilation -- LfD. LfD představuje jednoduchý imperativní jazyk, který je vhodný pro srovnávaní. Konkrétní chování je dáno známým spustitelným souborem (např. malware) a rozpoznání se provádí jako najítí poměru podobnosti s jiným neznámým spustitelným souborem. Tento poměr podobnosti je vypočítán nástrojem LfDComparator, který zpracovává dva vstupy v LfD a rozhoduje o jejich podobnosti.
Source-Code Migration Using Decompilation
Korec, Tomáš ; Ďurfina, Lukáš (referee) ; Zemek, Petr (advisor)
This thesis deals with source-code migration of high-level programming languages using decompilation. A migration tool developed within the thesis is built on top of the middle-end and back-end parts of Lissom project decompiler. Several compilers generating LLVM IR code from input languages are discussed. Compilers suitable for integration to the migration tool were chosen. Compiled LLVM IR code is an input of the decompiler's optimizing middle-end. The output from the migration tool is a code in the C language or Python-like language generated by the back-end of the decompiler. The input languages are Fortran and its dialects, C/C++/Objective-C/Objective-C++, and D. The thesis describes problems connected with migration of these languages, their solutions, and ways to improve quality and readability of the produced source code.
Java AST Query Language
Bílek, Jiří ; Matula, Peter (referee) ; Křivka, Zbyněk (advisor)
The purpose of this thesis is to design a Java AST query language and implement tool that uses the query language. This work overviews graph databases and their libraries with focus on Neo4J and Titan. This thesis overviews tools Java bytecode analysis as well. Libraries Procyon and BCEL are described in detail. The work includes a proposal the query language and detailed description of the tool implementation, together with the detailed description of the way how Java entities are stored into the graph databases. In the end, the work deals with experiments and the evaluation of the time complexity of the library.
Reverse engineering of platforms Java and Android
Žák, Josef ; Pecinovský, Rudolf (advisor) ; Oraný, Vladimír (referee)
This thesis deals with reverse engineering of Android and Java. It contains a description of existing tools and techniques, including techniques of defense. The first part is focused on available research about the topic. The next part discusses usage of reverse engineering in software development. The next chapters describe Android operating system and concept of a virtual machine on both platforms. Both kinds of architectures are compared (register-based vs stack-based machine). Core of the work is focused on static analysis (content of APK file, disassembling, decompilation). Available decompilers of class and dex files are compared. Testing is made with various versions of Java. The final chapter contains techniques and tools of defense against reverse engineering including a description of pros and cons. Two popular obfuscators are tested (Proguard, DashO).

Interested in being notified about new results for this query?
Subscribe to the RSS feed.